package com.JZ.QM.service;

import com.JZ.QM.common.entity.BankAccountEntity;
import com.JZ.QM.common.utils.PageUtils;
import com.JZ.QM.dto.BankAccountDTO;
import com.JZ.QM.dto.RechargeAndWithdrawalDTO;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;

/**
 * @author: cyc
 * @email cyc@gmail.com
 * @date: 2020/6/26 20:25
 */
public interface BankAccountService extends IService<BankAccountEntity> {
    /**
     * 分页查询
     * @param params
     * @return
     * @throws Exception
     */
    PageUtils queryPage(Map<String, Object> params) throws Exception;

    /**
     * 查询用户的银行卡号是否存在
     * @param bankAccountCard 用户的银行卡号码
     * @return
     */
    BankAccountEntity getBankAccountCard(String bankAccountCard);

    /**
     * @param bankAccountDTO 账户信息数据传输对象(账户iD,银行卡密码,预留手机号，银行卡代码，)
     * @return
     */
    boolean updateBankAccount(BankAccountDTO bankAccountDTO);

    /**
     * 通过账户id获取对应的银行账户列表
     * @param accountId 账户id
     * @return
     */
    ArrayList<HashMap<String,Object>> getBankAccountList(Long accountId);

    /**
     * 账户充值
     * @param rechargeAndWithdrawalDTO 提现数据传输对象
     * @return
     */
    boolean recharge(RechargeAndWithdrawalDTO rechargeAndWithdrawalDTO , int flag);
}
